<template>
    <view>
        <button type="primary" plain open-type="getUserInfo" @getuserinfo="handleGetUserInfo">获取授权</button>
    </view>
</template>

<script>
import { login } from '../../utils/asyncWx';
import { request } from '../../request/index.js';
import regeneratorRuntime from '../../lib/runtime/runtime'; // 支持es7的js文件引入1123

export default {
    data() {
        return {};
    }
    /**
     * 生命周期函数--监听页面加载
     */,
    onLoad: function (options) {
        const app = getApp();
        console.log(app);
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {},
    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {},
    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {},
    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {},
    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {},
    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {},
    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {},
    methods: {
        /**
         * 获取用户信息
         */
        async handleGetUserInfo(e) {
            try {
                // 获取用户信息
                console.log(e.detail);
                const { encryptedData, iv, rawData, signature } = e.detail; // es6解构
                // 获取小程序登录成功后的code
                // wx.login({
                //   timeout:10000,
                //   success: (result)=>{
                //     console.log(result)
                //     const { code } = result
                //   },
                //   fail: ()=>{},
                //   complete: ()=>{}
                // });
                // const res = await login()
                // console.log(res) // login promise对象
                // const code = res.code

                const { code } = await login(); // 发送请求 获取用户token

                const loginParams = {
                    encryptedData,
                    iv,
                    rawData,
                    signature,
                    code
                };
                const res = await request({
                    url: '/users/wxlogin',
                    data: loginParams,
                    method: 'POST'
                });
                console.log(res); // 这一步 是打印不出来的 因为不是企业账号  所以拿不到token
                // 把token存入缓存中  同时跳转到上一个页面
                // Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOjIzLCJpYXQiOjE1NjQ3MzAwNzksImV4cCI6MTAwMTU2NDczMDA3OH0.YPt-XeLnjV-_1ITaXGY2FhxmCe4NvXuRnRB8OMCfnPo

                uni.setStorageSync('token', '');
                uni.navigateBack({
                    delta: 1
                });
            } catch (error) {
                console.log(error);
            }
        }
    }
};
</script>
<style>
@import './index.css';
</style>
